Programmable device applications may be stress-tested by deploying the devices and applications in a variety of real-life settings to observe the behavior of the devices and applications. Such mechanisms may be intended to ensure that said devices and applications meet “Application Under Test” (AUT) demands and standards, in order that the devices and applications may be expected to perform satisfactorily when deployed in the marketplace and other real life scenarios.
Examples of stress or context-based testing include observing the behavior of applications with high computational tasks. For example, gaming applications with complex or demanding graphic requirements may be tested under a variety of different central processing unit (CPU) loads in order to identify defects or other unacceptable performance anomalies. Applications which do not follow proper memory management often crash when run under poor random access memory (RAM) availability contexts, and accordingly applications may be run in a variety of RAM availability contexts to detect and observe crashes indicative of improper memory management.
Mobile applications that use the Internet may be tested in various network loading conditions: for example, executing time-consuming actions in a main user interface (UI) thread may lead to application crashes. Applications that use global positioning satellite (GPS) data may be tested under various contexts that affect GPS data signals, including within and without building structures in order to observe location accuracy behaviors when GPS signals are blocked by building structures.